<!DOCTYPE html>
<html lang="zh_CN">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script type="text/javascript">

    var str = 'asdfdasfdasfadsfaadsfadsvadfadsfadsfasda';
    // 希望可以统计出字符串里面出现次数最多的字符

    // 1. 编写函数实现 2. 正则实现

    /**
     * 思路：
     * 1. 循环遍历将字符串里面的每个字符取出来
     * 2. 然后定义一个对象容器进行每个字符的存储存储结构如下
     *  {
     *      a：[a, a, a,a]
     *      c: [c, c,c]
     *  }
     * @param str
     */
    function countChar(str) {
        var rs = {};
        for (var i = 0; i < str.length; i++) {
            var char = str[i];

            if (!rs[char]) {
                rs[char] = [];
            }
            rs[char].push(char);
        }
        console.log(rs);
        // 循环遍历 rs 统计出 key对应的value值的长度最多的元素
        var _max = 0;
        var _char = '';
        for (var attr in rs) {
            if (rs[attr].length > _max) {
                _max = rs[attr].length;
                _char = attr;
            }
        }
        return {char: _char, count: _max};
    }

    console.log(countChar(str)); // 统计出出现次数最多的字符


</script>

</html>
